社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

j1-lee

j1-lee 最近创建的主题
j1-lee 最近回复了
3 年前
回复了 j1-lee 创建的主题 » python中列表追加的差异

res.append(path) 附加对象 path 把自己列入名单 res .在那一行之后,当你修改 路径 对象(比如 del path[-1] ),修改也将应用于中的附加对象 物件 因为它们是同一个物体。

list(path) 另一方面,“复制”了 路径 .所以这一个现在是不同于 路径 .当你修改 路径 之后,修改不会传播到这个不同的对象。

如果你这样做,你会得到同样的结果 path[:] path.copy() 而不是 列表(路径) .

3 年前
回复了 j1-lee 创建的主题 » 考虑序列的Python中重复值的计数

不能在dict中存储重复的键。如果您愿意拥有元组列表,可以使用 itertools.groupby :

from itertools import groupby

lst = ['asd', 'abb', 'das', 'fab', 'abb', 'abb']

counts = [(k, len([*g])) for k, g in groupby(lst)]
print(counts) # [('asd', 1), ('abb', 1), ('das', 1), ('fab', 1), ('abb', 2)]

第二个 \ 就是逃跑 ' .如果没有这个,python会看到

'Hello World\nIt's hot today'

现在,它将解释 'Hello world\nIt' 作为一根弦,因为你以 ' ! 然后它不知道如何处理剩下的代码 s hot today' ,导致语法错误。

为了避免逃跑 ' ,你可以用 " :

print("Hello World\nIt's hot today")

逃跑也是如此 " .如果你想打印字符串 He said "Hello, world!" ,则您需要以下任一选项:

print("He said \"Hello, world!\"")
print('He said "Hello, world!"')
3 年前
回复了 j1-lee 创建的主题 » 使用预先存在的列表的百分比创建新列表-Python

你可能想 l percent / 100 :

def select_stop_words(percent, lst):
    return lst[:len(lst) * percent // 100]

lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(select_stop_words(50, lst)) # [1, 2, 3, 4, 5]
print(select_stop_words(20, lst)) # [1, 2]
print(select_stop_words(99, lst)) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(select_stop_words(100, lst)) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
3 年前
回复了 j1-lee 创建的主题 » 在这个简单的Python代码中,我做错了什么?

你可能需要更加注意字符串。

  1. 使用字符串文字 'F' 'C' ( 光秃秃的 F C )在 if 条件
  2. 显式转换 int str 通过使用 str() ,当您连接 智力 str .或者更好,使用f字串。
print("Lets convert from C to F/ F to C")
temp = int(input("enter the temperature: "))
unit = input("enter the unit (C or F)")
if unit == 'C':
    F = temp * 1.8 + 32
    print(str(temp) +"C is equal to"+str(F) +"F")
elif unit == 'F':
    C = temp / 1.8 - 32
    print(str(temp) + "F is equal to" +str(C) + "C")

顺便说一句,这个公式恐怕有点错误。在另一个版本中,我更正了公式并使用了f-string,如下所示:

print("Let's convert from °C to °F or °F to °C!")
temp = int(input("Enter the temperature: "))
unit = input("Enter the unit (C or F): ")
if unit.upper() == 'C':
    F = temp * 1.8 + 32
    print(f"{temp}°C is equal to {F}°F")
elif unit.upper() == 'F':
    C = (temp - 32) / 1.8
    print(f"{temp}°F is equal to {C}°C")
3 年前
回复了 j1-lee 创建的主题 » 试图构建一个循环来更改python中3个str中的一个str

你可以使用列表理解:

import itertools

lst = ['A', 'B', 'C', 'D']

lst_input = list(itertools.product(lst, repeat=3))
lst_output = [(tup[0], x, tup[2]) for tup in lst_input for x in lst if tup[1] is not x]
lst_change = [f'C{i}' for i in range(1, len(lst_output) + 1)]

print(len(lst_input), len(lst_output), len(lst_change))
print(lst_input[:5])
print(lst_output[:5])
print(lst_change[:5])

# 64 192 192
# [('A', 'A', 'A'), ('A', 'A', 'B'), ('A', 'A', 'C'), ('A', 'A', 'D'), ('A', 'B', 'A')]
# [('A', 'B', 'A'), ('A', 'C', 'A'), ('A', 'D', 'A'), ('A', 'B', 'B'), ('A', 'C', 'B')]
# ['C1', 'C2', 'C3', 'C4', 'C5']

对于中的每个元组 lst_input ,中间项被所有候选字符替换,但如果替换字符与原始字符相同,则替换将被丢弃( if tup[1] is not x ).

3 年前
回复了 j1-lee 创建的主题 » 如何从json中提取属性并在python中创建列表?

你可以用 json.loads (或 json.load 如果您直接从文件中读取,请将文本(json格式)转换为python对象(嵌套列表/目录),然后使用列表理解:

import json

text = '''[
{
 "title": "5280 Cafe At Rallysport",
 "streetAddress": "2727 29th St.",
 "addressLocality": "Boulder",
 "addressRegion": "CO",
 "postalCode": "80301",
 "phoneNumber": "720-526-1013",
"vendorCuisine": "Breakfast"
},
{
"title": "Ali Baba Grill Boulder",
"streetAddress": "3054 28th St",
"addressLocality": "Boulder",
"addressRegion": "CO",
"postalCode": "80304",
"phoneNumber": "303-440-1393",
"vendorCuisine": "Mediterranean"
}]'''

output = [d['title'] for d in json.loads(text)]
print(output) # ['5280 Cafe At Rallysport', 'Ali Baba Grill Boulder']

如果json文本存储在, restaurants.json ,然后:

with open('restaurants.json', 'r') as f:
    output = [d['title'] for d in json.load(f)]

根据您的代码,我假设第0个条目仍然是字符串,而第1个、第2个。。。将被转换为整数。

您可以使用以下列表理解:

whole_list = [ ['apple','1','2'],['banana','2','3'],['cherry', '3','4'],['downypitch', '4','5'] ]

new_list = [[sublst[0], *map(int, sublst[1:])] for sublst in whole_list]
print(new_list) # [['apple', 1, 2], ['banana', 2, 3], ['cherry', 3, 4], ['downypitch', 4, 5]]