Python 3.x 如何更改集合中的值

Python 3.x 如何更改集合中的值,python-3.x,set,dataset,rename,Python 3.x,Set,Dataset,Rename,如果你能帮我解决这个问题,我将不胜感激。 假设a就是这样一个列表,我想更改降雨、年龄或里程表的名称 然后我想对这些值进行升序排序,如'35,23,12,65,34111,54,23,68,97' a= ['Rainfall,35,23,12,65,34,111,54,23,68,97\n', 'Age,35,23,14,76\n', 'Odometer Reading,35065,67443,23545,12323,72335'] 我试过: a[0].split(',') = new_name

如果你能帮我解决这个问题,我将不胜感激。 假设a就是这样一个列表,我想更改降雨、年龄或里程表的名称

然后我想对这些值进行升序排序,如'35,23,12,65,34111,54,23,68,97'

a= ['Rainfall,35,23,12,65,34,111,54,23,68,97\n', 'Age,35,23,14,76\n', 'Odometer Reading,35065,67443,23545,12323,72335']
我试过:

a[0].split(',') = new_name
但它没有改变

你能帮我解决这两个问题吗?
谢谢。

赋值的变量应始终位于表达式的左侧。因此,
a[0]。拆分(',)=new_name
应更改为:
new_name=a[0]。拆分(',')
对于排序,您可以执行以下操作:

readings = new_name[1:]  # takes all the values except the first one
if "\n" in readings[-1]:
   readings[-1] = readings[-1][:-1]  # removes the last \n character
readings = list(map(int, readings))  # converts each value to integer for sorting
readings = sorted(readings)          # sort the value
a[0] = 'new_name' + a[0][a[0].find(','):]

首先,让我们看看指令a[0].split(',')。此指令在第一个元素处对列表a进行切片,然后将生成的字符串转换为以逗号分隔的新列表。结果如下所示:

readings = new_name[1:]  # takes all the values except the first one
if "\n" in readings[-1]:
   readings[-1] = readings[-1][:-1]  # removes the last \n character
readings = list(map(int, readings))  # converts each value to integer for sorting
readings = sorted(readings)          # sort the value
a[0] = 'new_name' + a[0][a[0].find(','):]
[‘降雨量’、‘35’、‘23’、‘12’、‘65’、‘34’、‘111’、‘54’、‘23’、‘68’、‘97\n']

因此,执行a[0].split(',')=new_name操作没有多大意义,如果要更改[0]中第一个元素的值,请使用以下方法:

readings = new_name[1:]  # takes all the values except the first one
if "\n" in readings[-1]:
   readings[-1] = readings[-1][:-1]  # removes the last \n character
readings = list(map(int, readings))  # converts each value to integer for sorting
readings = sorted(readings)          # sort the value
a[0] = 'new_name' + a[0][a[0].find(','):]
这将产生:

a = ['new_name,35,23,12,65,34,111,54,23,68,97\n',
 'Age,35,23,14,76\n',
 'Odometer Reading,35065,67443,23545,12323,72335']
a[0]。拆分(“,”)
是函数调用,而不是对象。这就是为什么您会收到错误消息。还有,我不知道你想做什么。请在你的问题中包括预期结果。